package com.tulele.vtool.mapper;

import com.tulele.vtool.model.WxNotifyMsgSetInfo;
import com.tulele.vtool.model.combinedEntity.UserArticleTailSwitchSet;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;

@Component(value = "wxNotifyMsgSetInfoMapper")
public interface WxNotifyMsgSetInfoMapper {

    /**
     * 添加用户通知设置信息
     * @param wxNotifyMsgSetInfo
     * @return
     */
    int addUserNotifySetInfo(WxNotifyMsgSetInfo wxNotifyMsgSetInfo);

    /**
     * 更新用户通知设置信息
     * @param wxNotifyMsgSetInfo
     * @return
     */
    int updateUserNotifySetInfo(WxNotifyMsgSetInfo wxNotifyMsgSetInfo);

    /**
     * 查询用户微信通知设置
     * @param userId
     * @return
     */
    WxNotifyMsgSetInfo queryUserNotifySetInfo(Integer userId);

    /**
     * 查询用户有效的通知频率设置开关
     * @param userId
     * @return
     */
    Integer queryUserValidNotifySetStatus(Integer userId);

    /**
     * 查询用户个人中心的广告和表格设置开关
     * @param userId
     * @return
     */
    UserArticleTailSwitchSet queryUserArticleTailSwitch(Integer userId);

    /**
     * 修改用户个人中心的广告和表格设置开关
     * @param userId 用户 ID
     * @param advertSwitchStatus 广告开关信息
     * @param tableSwitchStatus 表格开关信息
     * @return 影响行数
     */
    int updateUserArticleTailSwitchSet(@Param("userId") Integer userId, @Param("advertSwitchStatus") Integer advertSwitchStatus, @Param("tableSwitchStatus") Integer tableSwitchStatus);
}